// 一. 切换 注册和登录的盒子 显示
// 1. 点击 去注册账号
$('#goto-register').on('click', () => {
  // 注册盒子 显示出来
  $('#register').show()
})

// 2. 点击 已有账号, 去登录
$('#goto-login').on('click', () => {
  // 登录显示 => 注册隐藏
  $('#register').hide()
})

// 二. 校验规则
{
  /* <input lay-verify='aaa'>   123 */
}

layui.form.verify({
  // 用户名
  username: value => {
    if (!/^[a-z0-9]{6,10}$/.test(value)) {
      return '账号名是6到10位由数字, 小写字母组成'
    }
  },
  // 密码
  password: value => {
    if (!/^[\S]{6,10}$/.test(value)) {
      return '密码是6到10位, 不能有空格'
    }
  },
  // 再次输入密码
  repwd: value => {
    // 只要求(value)和上面的内容一样()
    // $('#register input[name=password]').val()
    if ($('#register input[name=password]').val() !== value) {
      return '两次的密码应该一致'
    }
  },
})

// 三 . 点击 => 注册  点击`提交按钮` (注册 + 登录), lay-submit => 触发 form 的submit 事件
$('#register .layui-form').on('submit', e => {
  //1. 阻止默认行为
  e.preventDefault()

  //2. 收集数据
  let username = $('#register input[name=username]').val()
  let password = $('#register input[name=password]').val()
  let data = `username=${username}&password=${password}`
  console.log('data', data)

  //3. 发送请求
  mg_register(data, () => {
    $('#register').hide()
  })

  // axios.post('http://api-breakingnews-web.itheima.net/api/reguser', data).then(res => {
  //   console.log('注册请求', res)

  //   // 切换到 登录 盒子  => 隐藏注册盒子
  //   if (res.data.status === 0) {
  //     $('#register').hide()
  //   }
  // })
})

// 四 . 点击 => 登录
$('#login .layui-form').on('submit', e => {
  //1. 阻止默认行为
  e.preventDefault()

  //2. 收集数据
  // ★  小心 后面的.val() 不能少
  let username = $('#login input[name=username]').val()
  let password = $('#login input[name=password]').val()
  let data = `username=${username}&password=${password}`

  //3. 发送请求
  mg_login(data, res => {
    if (res.data.status == 0) {
      // 成功
      // 3.0 把token保存到本地
      localStorage.setItem('token', res.data.token)

      // 3.1 提示
      layer.msg(
        '登录成功',
        {
          icon: 1,
          time: 2000, //2秒关闭（如果不配置，默认是3秒）
        },
        () => {
          // 3.2 跳转/切换
          location.href = '/index.html'
        }
      )
    } else {
      // 失败
      layer.msg('登录失败', { icon: 2 })
    }
  })

  // axios.post(url,data,config)
  // axios.post('http://api-breakingnews-web.itheima.net/api/login', data).then(res => {
  //   console.log('登录-res', res.data)
  //   if (res.data.status == 0) {
  //     // 成功
  //     // 3.0 把token保存到本地
  //     localStorage.setItem('token', res.data.token)

  //     // 3.1 提示
  //     layer.msg(
  //       '登录成功',
  //       {
  //         icon: 1,
  //         time: 2000, //2秒关闭（如果不配置，默认是3秒）
  //       },
  //       () => {
  //         // 3.2 跳转/切换
  //         location.href = '/index.html'
  //       }
  //     )
  //   } else {
  //     // 失败
  //     layer.msg('登录失败', { icon: 2 })
  //   }
  // })
})

// *******************************************************
// 一. 回调
// 回调 : 回头调用, `把函数当成一个参数去传递`

// A:  这是一个封装的工具文件  123  和  321
// 用回调来治异步

// function login(username, password, callback) {
//   setTimeout(() => {
//     if (username === 123 && password === 321) {
//       callback && callback('登录成功')
//     } else {
//       // if (callback) {
//       //   callback('登录失败')
//       // }
//       callback && callback('登录失败')
//     }
//   }, 0)
// }

// // 王五
// login(123, 321, res => {
//   console.log('我是王五的回调:', res)
// })

// 张三 : 使用这个封装的工具文件里面的方法
// login(123, 321, res => {
//   console.log('我是张三的回调', res)
// })

// 李四 : 使用这个封装的工具文件里面的方法
// login(123, 123, res => {
//   console.log('我是李四的回调', res)
// })

//
// function test(num) {
//   console.log('num:', num)
//   num(123)
// }

// test(function (a) {
//   console.log('我就是回调', a)
// })

// function mg_getCates(url,data, callback) {
//   axios.post(url, data).then(res => {
//     if(res.data.status==0) {
//       callback && callback(res)
//     }
//   })
// }

// // 王五
// mg_getCates('/api/login',`username=000005&password=000005`, (res) => {
//    console.log('res:',res);
// })

// // 张三
// mg_getCates('/api/login',`username=000005&password=000005`, (res) => {
//   console.log('res:',res);
// })

// // 李四
// mg_getCates('/api/login',`username=000005&password=000005`, (res) => {
//   console.log('res:',res);
// })
